home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 8
/
FM Towns Free Software Collection 8.iso
/
t_os
/
clcl
/
aoi_lib2.h
< prev
next >
Wrap
Text File
|
1994-06-01
|
25KB
|
1,089 lines
/*
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ライブラリ用ヘッダファイル ///// Tab Size : 4 ///// ┃
┃ ///// Margin : 100 ///// ┃
┃ aoi_lib2.h v1.0 L21 ┃
┃ ┃
┃ (C)K.Konishi 10-Feb-94 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
*/
#if !defined(___AOI_lib)
#define ___AOI_lib
#define ___AOI_libDate 16-08-92
#define ___AOI_libVer v1.0_L20
typedef struct AOIstringData { /* AOIstringのデータ格納用の構造体 */
short ax, ay, /* ANK 文字 大きさ */
sx, sy; /* SJIS文字 大きさ */
int sc, /* 文字の色 */
ss; /* 文字のスタイル */
}AOIstringData;
typedef struct AOIbuttonData { /* AOIbuttonのデータ格納用の構造体 */
short x, y, /* ボタン座標 */
lx, ly; /* ボタン大きさ */
}AOIbuttonData;
#ifdef LIB
char para[64];
char work[EgbWorkSize];
char mwork[MosWorkSize];
char pat_work[258];
#define BUTTON 100
#define AOImbMaxSize 256
#endif
#if !defined(LIB)
#include <EGB.h>
#include <MOS.h>
extern char para[64];
extern char work[EgbWorkSize];
extern char mwork[MosWorkSize];
extern char pat_work[258];
#define BUTTON 100
#define MDCL1 1 /* 色の名前 */
#define MDCL2 2
#define MDCL3 3
#define MDCL4 4
#define MDCL5 5
#define MDCL6 6
#define MDCL7 7
#define BLACK 8
#define BLUE 9
#define RED 10
#define PURPLE 11
#define GREEN 12
#define SKYBLUE 13
#define YELLOW 14
#define WHITE 15
#define AOImbMaxSize 256
#endif
int AOIpset(short x, short y, short c);
int AOIcircle(short x, short y, short r, short c);
int AOIstring(short x, short y, AOIstringData *Data, char *tx);
int AOIstrSetup(short zsx, short zsy, short zax, short zay, short sf, short sc);
int AOIstrSjis(short x, short y, char *tx);
int AOIanyChar(short x, short y, short fx, short fy, char *data);
int AOIline(short x0, short y0, short x1, short y1, short c);
int AOIconnectLeft(short x0, short y0, short x1, short y1, short c);
int AOIconnectRight(short x0, short y0, short x1, short y1, short c);
int AOIconnectLeftIGRB(short x0, short y0, short x1, short y1, int c);
int AOIconnectRightIGRB(short x0, short y0, short x1, short y1, int c);
int AOIbox(short x0, short y0, short x1, short y1, short c);
int AOIboxFull(short x0, short y0, short x1, short y1, int c);
int AOIboxFullIGRB(short x0, short y0, short x1, short y1, int c);
int AOIwinBase(short x, short y, short lx, short ly, short sd);
int AOIwinBase2(int x, int y, int lx, int ly, int sd);
int AOIbuttonBase(short x, short y, short lx, short ly);
int AOIbuttonBase2(int x, int y, int lx, int ly);
int AOIwinBase32k(int x, int y, int lx, int ly, int sd);
int AOIbuttonBase32k(int x, int y, int lx, int ly);
int AOIsetPalette(int cn, int cg, int cr, int cb);
int AOIsetPalette256(int cn, int cg, int cr, int cb);
int AOIsetStandardPalette(void);
int AOIcolorIGRB(int g, int r, int b);
short AOIbin2short(char *bin);
long AOIbin2long(char *bin);
void AOIsetButton(AOIbuttonData *Data, short x, short y, short lx, short ly);
int AOIbutton(short sx, short sy, int mx, int my, AOIbuttonData *Data);
void AOIfigureDraw(short sx, short sy, short figure);
void _AOIfigureDrawSet(short *fig, short *a);
void AOIfigureDraw2(short sx, short sy, int figure);
short _AOIrandom(short max); /* 0~99までの特殊用途乱数発生 */
long AOIrandom(long max); /* 0~999999までの乱数発生 */
int AOIbuttonLamp(short sx, short sy, AOIbuttonData *Data);
int AOIslantingBox(short x0, short y0, short x1, short y1, short lx, short cl);
int AOIslantingBoxFull(short x0, short y0, short x1, short y1, short lx, short cl);
int AOIpadCheck(int *status);
int AOIpadCheck2(int *status, int a[]);
void ank2sjis(char string[], char str[]);
void AOIstrFJ2(FILE *fp, short fs, short sx, short sy, char st[], short gap);
void AOIstring_FJ2(FILE *fp, short fs, short sx, short sy, char st[], short sc, short gap);
void AOIstrFJ2Zoom(FILE *fp, short fs, short sx, short sy, char st[], short sc, short gap, short zx, short zy);
short _AOIsystem12FontSetup(char fnt12File[]);
void AOIsystem16Font(short x, short y, short c, char *str);
void AOIsystem12Font(short x, short y, short c, char *str);
int AOIgetGraph(char *buf, short x0, short y0, short x1, short y1); /* 画像データ画面の読み込み */
int AOIgetGraphZoom(char *buf, short x0, short y0, short x1, short y1, short xs, short ys);
/* 画像データ画面の読み込み */
int AOIputGraph(char *buf, short x0, short y0, short x1, short y1); /* 画像データ画面の書き込み */
int AOIputGraphZoom(char *buf, short x0, short y0, short x1, short y1, short xs, short ys);
/* 画像データ画面の書き込み */
void AOIwindowMove(char *dispTmp, short *sx, short *sy, short lx, short ly); /* ウインドゥ移動 */
void AOIwindowMove2(char *winData, char *dispTmp, int *sx, int *sy, int lx, int ly, int sd);
int AOIgetColorMode(void);
int AOImessageBox(int x, int y, int fontSize, char title[], int num, char mes[][AOImbMaxSize], int attr);
int AOItiff(int sx, int sy, char filename[100]);
void AOIwide17(void); /* WIDE display set */
void AOIwide3(void);
void AOIwide3_2(void);
short AOItownsName(void); /* TOWNSの機種判別 */
#define getB(c) (c & 0xff)
#define getR(c) ((c>>8) & 0xff)
#define getG(c) ((c>>16) & 0xff)
#define RGBpack(r, g, b) (((((g)<<16)&0xff0000)+(((r)<<8)&0xff00)+((b)&0xff))&0xffffff)
#define shift32k(x) (((x)<<3)&0xf8)
#define shift32kG(g) ((shift32k(g)<<16)&0xf80000)
#define shift32kR(r) ((shift32k(r)<< 8)&0x00f800)
#define shift32kB(b) ((shift32k(b) )&0x0000f8)
#define RGBpack32k(r, g, b) ((shift32kG(g)+shift32kR(r)+shift32kB(b))&0xffffff)
#define DARKBULE32K RGBpack32k(0x00,0x0e,0x15)
#define LIGHTBULE32K RGBpack32k(0x08,0x18,0x1f)
#define WHITE32K RGBpack32k(0x1f,0x1f,0x1f)
enum {MB_OK, MB_OKCANCEL, MB_YESNO};
enum {ID_OK, ID_CANCEL, ID_YES, ID_NO, ID_ERR};
enum {R32k, R16, R256};
enum {OFF, ON};
#endif
/*
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ 葵ライブラリ AOI_LIB2 v1.0 L20 マニュアル ┃
┃ ┃
┃ (C)K.Konishi 16-Aug-93 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
1 葵ライブラリについて
葵ライブラリは、私、小西国造が製作した HighC 用簡易ライブラリです。
C言語を始めたばかりの時の関数群もそのまま残っているので、かなり、
目茶苦茶な物もあります。
1.1 葵ライブラリ使用上の注意
葵ライブラリによって、生じたあらゆる不都合について、私は一切
責任を負いません。一部、バグも野放しになっている場合もあります。
1.2 葵ライブラリの使い方
以下、葵ライブラリを使うソースプログラムを TEST.C と呼びます。
ソースプログラム TEST.C の適当な所に、
#include <aoi_lib2.h>
と記述して下さい。
[参考]葵ライブラリは、以下が定義されています。
#define ___AOI_lib
後、aoi_lib2.obj をリンクしてください。例えば、TLINK なら、
run386 tlinkp.exp TEST.OBJ @link01.lnk
です。link01.lnk 内のパスは各自適当に指定してください。
2 葵ライブラリ リファレンス
■ AOIpset 点描画
int AOIpset(short x, short y, short c);
// 0:正常終了
short x; // 開始X座標
short y; // 開始Y座標
short c; // 描画色
例
int ret;
ret = AOIpset(320, 200, 15);
// 座標(320, 200) に色番号15で点を描画します。
■ AOIstring 文字列描画 (旧)
int AOIstring(short x, short y, AOIstringData *Data, char *tx)
// 0:正常終了
short x; // 開始X座標
short y; // 開始Y座標
AOIstringData *Data; // 文字列装飾データ
char *tx; // 描画文字列
例
int ret;
AOIstringData asD; // AOIstrData型の変数宣言
asD.sx = 32; // 全角のX方向大きさ
asD.sy = 32; // 全角のY方向大きさ
asD.ax = 16; // 半角のX方向大きさ
asD.ay = 32; // 半角のY方向大きさ
asD.sc = BLACK; // 描画色
asD.ss = 0x00; // スタイル(HighC マニュアル EGB_fontStyle()参照)
ret = AOIstring(320, 200, &asD, "文字列ABCABC");
// 座標(320, 200) に文字列を描画します。
注意
AOIstrSjis() の使用をお勧めします。
■ AOIstrSetup AOIstrSjis() に対する文字列装飾設定
int AOIstrSetup(zsx, zsy, zax, zay, sf, sc);
// 0:正常終了
short zsx; // 全角のX方向大きさ
short zsy; // 全角のY方向大きさ
short zax; // 半角のX方向大きさ
short zay; // 半角のY方向大きさ
short sf; // スタイル(HighC マニュアル EGB_fontStyle()参照)
short sc; // 描画色
例
AOIstrSjis() の例を参照
■ AOIstrSjis 文字列描画 (新)
int AOIstrSjis(short x, short y, char *tx)
// 0:正常終了
short x; // 開始X座標
short y; // 開始Y座標
char *tx; // 描画文字列
例
int ret1, ret2;
ret1 = AOIstrSetup(32, 32, 16, 32, 0x00, BLACK);
ret2 = AOIstrSjis(320, 200, "文字列ABCABC");
// 座標(320, 200) に文字列を描画します。
注意
AOIstrSjis() を呼び出す前に AOIstrSetup() で各種設定を
行ってください。
■ AOIanyChar 座標設定も行う EGB_anyChar()
int AOIanyChar(short x, short y, short fx, short fy, char *data);
// 0:正常終了
short x; // 開始X座標
short y; // 開始Y座標
short fx; // データの横サイズ(8ドット単位)
short fy; // データの縦サイズ
char *data; // データのアドレス
例
int ret;
char data[] = {
0x1c, 0x00, 0x3e, 0x00, 0x63, 0x00, 0x41, 0x00,
0xc1, 0x80, 0xff, 0x80, 0xc1, 0x80, 0xc1, 0x80
};
ret = AOIanyChar(320, 200, 8, 16, data);
// 座標(320, 200) にdataの指すデータを描画します。
■ AOIline 線描画
int AOIline(short x0, short y0, short x1, short y1, short c);
// 0:正常終了
short x0; // 開始X座標
short y0; // 開始Y座標
short x1; // 終了X座標
short y1; // 終了Y座標
short c; // 描画色
例
int ret;
ret = AOIline(320, 200, 600, 450, 15);
// 座標(320, 200)から座標(320, 200)へ色番号15で線を描画します
■ AOIconnectLeft ┌─ のように線を描画します
int AOIconnectLeft(x0, y0, x1, y1, c);
// 0:正常終了
short x0; // 開始X座標
short y0; // 開始Y座標
short x1; // 終了X座標
short y1; // 終了Y座標
short c; // 描画色
例
int ret;
ret = AOIconnectLeft(320, 200, 600, 450, 15);
// 座標(320, 450)~座標(320, 200)~座標(600, 200)の順に
色番号15で線を描画します。
■ AOIconnectRight ─┘ のように線を描画します
int AOIconnectRight(x0, y0, x1, y1, c);
// 0:正常終了
short x0; // 開始X座標
short y0; // 開始Y座標
short x1; // 終了X座標
short y1; // 終了Y座標
short c; // 描画色
例
int ret;
ret = AOIconnectRight(320, 200, 600, 450, 15);
// 座標(320, 450)~座標(600, 450)~座標(600, 200)の順に
色番号15で線を描画します。
■ AOIbox 矩形描画
int AOIbox(short x0, short y0, short x1, short y1, short c);
// 0:正常終了
short x0; // 開始X座標
short y0; // 開始Y座標
short x1; // 終了X座標
short y1; // 終了Y座標
short c; // 描画色
例
int ret;
ret = AOIbox(320, 200, 600, 450, 15);
// 座標(320, 200)から(600, 450)へ色番号15で矩形を描画します。
■ AOIboxFull 塗りつぶし矩形描画
int AOIboxFull(short x0, short y0, short x1, short y1, short c);
// 0:正常終了
short x0; // 開始X座標
short y0; // 開始Y座標
short x1; // 終了X座標
short y1; // 終了Y座標
short c; // 描画色
例
int ret;
ret = AOIboxFull(320, 200, 600, 450, 15);
// 座標(320, 200)から座標(600, 450)へ色番号15で
塗りつぶし矩形を描画します。
■ AOIwinBase ウィンドウの下地描画
int AOIwinBase(short x, short y, short lx, short ly, short sd);
// 0:正常終了
short x; // 開始X座標
short y; // 開始Y座標
short lx; // X方向大きさ
short ly; // Y方向大きさ
short sd; // 影処理(1 : あり)
例
int ret;
ret = AOIwinBase(320, 200, 100, 150, 1);
// 座標(320, 200)から(100, 150)の大きさでウィンドウの下地描画
します。影付き
■ AOIbuttonBase ボタンの下地描画
int AOIbuttonBase(short x, short y, short lx, short ly);
// 0:正常終了
short x; // 開始X座標
short y; // 開始Y座標
short lx; // X方向大きさ
short ly; // Y方向大きさ
例
int ret;
ret = AOIbuttonBase(320, 200, 100, 16);
// 座標(320, 200)から(100,16)の大きさでボタンの下地描画します
■ AOIsetPalette パレット設定(16色)
int AOIsetPalette(int cn, int cg, int cr, int cb);
// 0:正常終了
int cn; // 色識別番号
int cg; // 緑(16段階)
int cr; // 赤(16段階)
int cb; // 青(16段階)
例
int ret;
ret = AOIsetPalette(14, 1, 2, 3);
// 色識別番号14のパレットを(G, R, B) = (1, 2, 3)に設定。
■ AOIsetPalette256 パレット設定(256色)
int AOIsetPalette256(int cn, int cg, int cr, int cb);
// 0:正常終了
int cn; // 色識別番号
int cg; // 緑(256段階)
int cr; // 赤(256段階)
int cb; // 青(256段階)
例
int ret;
ret = AOIsetPalette256(254, 10, 20, 30);
// 色識別番号254のパレットを(G,R,B)=(10,20,30)に設定。
■ AOIcolorIGRB RGBの値で描画色を設定
int AOIcolorIGRB(int g, int r, int b);
// 0:正常終了
int g; // 緑
int r; // 赤
int b; // 青
例
int ret;
ret = AOIcolorIGRB(10, 20, 30);
// 描画色を(G, R, B) = (10,20,30)に設定します。
■ AOIsetStandardPalette 16色モードの高輝度色のパレットを標準設定
int AOIsetStandardPalette(void)
// 0:正常終了
例
int ret;
ret = AOIsetStandardPalette();
// 16色モードの高輝度色のパレットを標準設定
■ AOIbin2short 2進数をshort型に変換し返します。
short AOIbin2short(char *bin)
// 2進数をshort型に変換し返します
char *bin // 2進数
例
short ret;
ret = AOIbin2short("010101010");
// 2進数 010101010 を short 型に変換し ret に格納します
■ AOIbin2long 2進数をlong 型に変換し返します。
long AOIbin2long (char *bin)
// 2進数をlong 型に変換し返します
char *bin // 2進数
例
long ret;
ret = AOIbin2long ("010101010");
// 2進数 010101010 を long 型に変換し ret に格納します
■ AOIsetButton 指定範囲をボタンとして登録します
void AOIsetButton(Data, x, y, lx, ly);
// 戻りなし
AOIbuttonData *Data; // ボタン属性
short x; // 開始X座標(0はウィンドウの開始X座標)
short y; // 開始Y座標(0はウィンドウの開始Y座標)
short lx; // X方向大きさ
short ly; // Y方向大きさ
例
AOIsetButton(&AbD[10], 10, 20, 100, 16);
// 座標(10, 20)から(100, 16)の大きさの範囲をボタンとして
登録番号10で登録します。
注意
AbD は aoi_lib2.h 内で予約されています。
ユーザーが AOIbuttonData 型の宣言をしてはいけません。
登録番号は 1 から 100 までです。
■ AOIbutton 今、押されているボタンの登録番号を返します
int AOIbutton(sx, sy, mx, my, Data);
// 今、押されているボタンの登録番号を返します
何も、押されていないときは -1 を返します
short sx; // 現在のウィンドウの開始X座標
short sy; // 現在のウィンドウの開始Y座標
int mx; // 現在のマウスカーソルのX座標
int my; // 現在のマウスカーソルのY座標
AOIbuttonData *Data; // ボタン属性
例
int button;
int ch;
int mx;
int my;
MOS_rdpos(&ch, &mx, &my);
button = AOIbutton(400, 200, mx, my, AbD);
// ウィンドウ開始座標(400, 200), マウスカーソル座標(mx, my)
の時、押されているボタンの登録番号を button に返します。
注意
AbD は aoi_lib2.h 内で予約されています。
ユーザーが AOIbuttonData 型の宣言をしてはいけません。
登録番号は 1 から 100 までです。
■ AOIfigureDraw 2桁の数字をディジタル時計風12ドットで表示します
void AOIfigureDraw(short sx, short sy, short figure);
// 戻りなし
short sx; // 開始X座標
short sy; // 開始Y座標
short figure; // 表示数値
例
AOIfigureDraw(320, 200, 23);
// 座標(320, 200)に数値 23 をディジタル12ドットで表示します
■ AOIfigureDraw2 2桁の数字をディジタル時計風25ドットで表示します
void AOIfigureDraw(short sx, short sy, int figure);
// 戻りなし
short sx; // 開始X座標
short sy; // 開始Y座標
int figure; // 表示数値
例
AOIfigureDraw2(320, 200, 23);
// 座標(320, 200)に数値 23 をディジタル25ドットで表示します
■ AOIrandom 0~999999までの乱数発生
long AOIrandom(long max);
// 0~999999までの乱数
long max; // 最大値
例
long ret;
ret = AOIrandom(250000);
// 1~250000の間の乱数を ret に格納します
注意
乱数の種に内蔵時計を使用しています。
■ AOIbuttonLamp 指定された登録番号のボタンを反転表示します
int AOIbuttonLamp(short sx, short sy, AOIbuttonData *Data);
// 0 : 正常終了
short sx; // 現在のウィンドウの開始X座標
short sy; // 現在のウィンドウの開始Y座標
AOIbuttonData *Data; // ボタン属性
例
int ret;
ret = AOIbuttonLamp(400, 200, AbD[23]);
// ウィンドウ開始座標(400, 200), ボタンの登録番号 23 の
ボタンを反転表示します。
注意
AbD は aoi_lib2.h 内で予約されています。
ユーザーが AOIbuttonData 型の宣言をしてはいけません。
登録番号は 1 から 100 までです。
■ AOIslantingBox 平行四辺形描画
int AOIslantingBox(x0, y0, x1, y1, lx, cl);
// 0 : 正常終了 ________
short x0; // (x0,y0)/ /
short y0; // / /
short x1; // /←――lx――→/
short y1; // / /
short lx; // /_______/(x1,y1)
short cl; // 描画色
例
int ret;
ret = AOIslantingBox(320, 200, 100, 50, 30, 14);
// 平行四辺形を描画します
■ AOIslantingBoxFull 塗りつぶし平行四辺形描画
int AOIslantingBoxFull(x0, y0, x1, y1, lx, cl);
// 0 : 正常終了 ________
short x0; // (x0,y0)/ /
short y0; // / /
short x1; // /←――lx――→/
short y1; // / /
short lx; // /_______/(x1,y1)
short cl; // 描画色
例
int ret;
ret = AOIslantingBoxFull(320, 200, 100, 50, 30, 14);
// 塗りつぶし平行四辺形を描画します
■ ank2sjis 半角を含む文字列を全角のみの文字列を変換します
void ank2sjis(char string[], char str[]);
// 戻りなし
char string[]; // 変換後の文字列
char str[]; // 変換前の文字列
例
char string[50];
ank2sjis(string, "文字列ABCABC");
// 文字列"文字列ABCABC"を全角"文字列ABCABC"に変換し
string に格納します。
注意
変換後の文字列は十分に大きく取っておいた方が無難です。
■ sjisToJis シフトJISをJISに変換します
unsigned int sjisToJis(unsigned int sjis);
// 変換結果を返します。
unsigned int sjis; // 変換前 SJISコード
例
unsigned int jis;
jis = sjisToJis("愛");
// SJISコード"愛" を JISコードに変換して jis に格納します
■ AOIstrFJ2 FJ2フォントによる文字列描画 (新)
void AOIstrFJ2(fp, fs, sx, sy, st, gap);
// 戻りなし
FILE *fp; // FJ2フォントファイルのFILE *fp
short fs; // FJ2フォントファイルのサイズ(12,24,32,48,60)
short sx; // 開始X座標
short sy; // 開始Y座標
char st[]; // 文字列
short gap; // 文字間隔
例
FILE *fp;
if ((fp = fopen("Q:\\fj2\\font\\minn60.fnt", "rb")) == NULL) {
perror("minn60.fnt のオープンを失敗しました");
}
AOIstrFJ2(fp, 60, 320, 200, "文字列ABC", 0);
// 座標(320, 200)に文字列を MINN60.FNT を使って描画します。
注意
文字列は全角のみ
■ AOIstring_FJ2 FJ2フォントによる文字列描画 (旧)
void AOIstring_FJ2(fp, fs, sx, sy, st, sc, gap);
// 戻りなし
FILE *fp; // FJ2フォントファイルのFILE *fp
short fs; // FJ2フォントファイルのサイズ(12,24,32,48,60)
short sx; // 開始X座標
short sy; // 開始Y座標
char st[]; // 文字列
short sc; // 描画色
short gap; // 文字間隔
例
FILE *fp;
if ((fp = fopen("Q:\\fj2\\font\\minn60.fnt", "rb")) == NULL) {
perror("minn60.fnt のオープンを失敗しました");
}
AOIstring_FJ2(fp, 60, 320, 200, "文字列ABC", 14, 0);
// 座標(320, 200)に文字列を MINN60.FNT を使って描画します。
注意
文字列は全角のみ
なるべく AOIstrFJ2() を使ってください
■ AOIstrFJ2Zoom FJ2フォントによる文字列描画
void AOIstrFJ2Zoom(fp, fs, sx, sy, st, gap, zx, zy);
// 戻りなし
FILE *fp; // FJ2フォントファイルのFILE *fp
short fs; // FJ2フォントファイルのサイズ(12,24,32,48,60)
short sx; // 開始X座標
short sy; // 開始Y座標
char st[]; // 文字列
short gap; // 文字間隔
short zx; // X方向大きさ
short zy; // Y方向大きさ
例
FILE *fp;
if ((fp = fopen("Q:\\fj2\\font\\minn60.fnt", "rb")) == NULL) {
perror("minn60.fnt のオープンを失敗しました");
}
AOIstrFJ2Zoom(fp, 60, 320, 200, "文字列ABC", 0, 120, 80);
// 座標(320, 200)に文字列を MINN60.FNT を使って描画します。
注意
文字列は全角のみ
■ AOIsystem12Font 12ドットフォントによる文字列描画
void AOIsystem12Font(short x, short y, short c, char *str)
// 戻りなし
short x; // 開始X座標
short y; // 開始Y座標
char *str; // 文字列
例
AOIsystem12Font(320, 200, "文字列ABCABC");
// 座標(320, 200)に文字列を 12ドットフォント を使って描画します。
■ AOIgetGraph 画像データ画面の読み込み
int AOIgetGraph(char *buf, short x0, short y0, short x1, short y1);
// 0:正常終了
char *buf; // 画像保存用バッファ
short x0; // 開始X座標
short y0; // 開始Y座標
short x1; // 終了X座標
short y1; // 終了Y座標
例
char dispTmp[(320 / 8) * 240];
AOIgetGraph(dispTmp, 0, 0, 320, 240);
AOIputGraph(dispTmp, 160, 240, 480, 480);
// (0, 0)-(320, 240) の画像を (160, 240)-(480, 480)に複写します。
■ AOIputGraph 画像データ画面の読み込み
int AOIputGraph(char *buf, short x0, short y0, short x1, short y1);
// 0:正常終了
char *buf; // 画像保存用バッファ
short x0; // 開始X座標
short y0; // 開始Y座標
short x1; // 終了X座標
short y1; // 終了Y座標
例
AOIgetGraph() の例 参照
■ AOIgetGraphZoom 画像データ画面の読み込み
int AOIgetGraphZoom(buf, x0, y0, x1, y1, xs, ys);
// 0:正常終了
char *buf; // 画像保存用バッファ
short x0; // 開始X座標
short y0; // 開始Y座標
short x1; // 終了X座標
short y1; // 終了Y座標
short xs; // X方向大きさ
short ys; // Y方向大きさ
例
char dispTmp[(640 / 8) * 480];
AOIgetGraphZoom(dispTmp, 0, 0, 320, 240, 640, 480);
AOIputGraph(dispTmp, 0, 0, 640, 480);
// (0, 0)-(320, 240) の画像を 拡大します。
■ AOIputGraphZoom 画像データ画面の読み込み
int AOIputGraphZoom(buf, x0, y0, x1, y1, xs, ys);
// 0:正常終了
char *buf; // 画像保存用バッファ
short x0; // 開始X座標
short y0; // 開始Y座標
short x1; // 終了X座標
short y1; // 終了Y座標
short xs; // X方向大きさ
short ys; // Y方向大きさ
例
char dispTmp[(320 / 8) * 240];
AOIgetGraph(dispTmp, 0, 0, 320, 240);
AOIputGraphZoom(dispTmp, 0, 0, 320, 240, 640, 480);
// (0, 0)-(320, 240) の画像を 拡大します。
■ AOIwindowMove ウインドウの移動
void AOIwindowMove(dispTmp, sx, sy, lx, ly);
// 戻りなし
char *dispTmp; // ウィンドウ描画前の画像データ
short *sx; // 現在のウィンドウ開始X座標
short *sy; // 現在のウィンドウ開始Y座標
short lx; // ウィンドウのX方向大きさ
short ly; // ウィンドウのY方向大きさ
例
■ AOIwide3 画面モード 3をワイド化します(720 * 490相当)
void AOIwide3(void);
例
AOIwide3();
// 画面モード 3をワイド化します
■ AOIwide17 画面モード 17を横方向に 1.2倍拡大します
void AOIwide17(void);
例
AOIwide17();
// 画面モード 17を横方向に 1.2倍拡大します
*/